import greenfoot.*;  // (World, Actor, GreenfootImage, Greenfoot and MouseInfo)

/**
 * Mundo que da a elegir las opciones de créditos, records, ayuda e iniciar juego
 * Hace llamados para crear nuevos escenarios
 * 
 * @author Luis Guajardo Olvera
 * @author Daniel Romero Martí
 */
public class Inicio extends World
{
    protected GreenfootSound cancion;
    private boolean bandera;
    private Boton boton;
    private Boton boton2;
    private Boton boton3;
    private Boton boton4;
    
    /**
     * Constructor for objects of class Inicio.
     * 
     */
    public Inicio()
    {    
        // Create a new world with 600x400 cells with a cell size of 1x1 pixels.
        super(600, 400, 1,false);
        bandera=false;
        cancion = new GreenfootSound("soundTrack.wav");
        boton = new Boton(true);
        boton2 = new Boton(false);
        boton3 = new Boton(false);
        boton4 = new Boton(false);
    }
    
    /**
     * Método que recolecta la información del mouse para verificar si se ha dadoa click en algún botón
     * Realiza las mismas acciones que con el mouse pero también usando las teclas mencionadas en las imágenes
     * Crea los botones de juego e indica que mundo se creará
     */
    public void act()
    {
        MouseInfo m = Greenfoot.getMouseInfo();
        if(bandera==false)
        {
            addObject(boton,293,185);
            boton2.setImage("botonH.png");
            addObject(boton2,84,243);
            boton3.setImage("botonC.png");
            addObject(boton3,517,246);
            boton4.setImage("botonR.png");
            addObject(boton4,296,342);
            bandera=true;
        }
        if(Greenfoot.isKeyDown("enter") || Greenfoot.mousePressed(boton))
        {
            eligeMundo("Tierra",0);
        }
        if(Greenfoot.isKeyDown("r") || Greenfoot.mousePressed(boton4))
        {
            eligeMundo("Records",0);
        }
        if(Greenfoot.isKeyDown("h") || Greenfoot.mousePressed(boton2))
        {
            eligeMundo("Help",0);
        }
        if(Greenfoot.isKeyDown("c") || Greenfoot.mousePressed(boton3))
        {
            eligeMundo("Creditos",0);
        }
    }
    
    /**
     * Método que comienza a tocar la canción del juego
     */
     public void tocaCancion()
    {
        cancion.play();
    }
    
    /**
     * Método que detiene la canción del juego
     */
    public void detieneCancion()
    {
        cancion.stop();
    }
    
    /**
     * Método que elige el mundo a mostrar dependiendo de la selección del usuario
     */
    public void eligeMundo(String unMundo,int unaCant)
    {
        if(unMundo=="Tierra")
        {
            Tierra tierra = new Tierra();
            Greenfoot.setWorld(tierra);
        }
        if(unMundo=="Space")
        {
            Space mundo = new Space(unaCant);
            Greenfoot.setWorld(mundo);
        }
        if(unMundo=="Meteoro")
        {
            Meteoro meteoro = new Meteoro(unaCant);
            Greenfoot.setWorld(meteoro);
        }
        if(unMundo=="Records")
        {
            Records records = new Records();
            Greenfoot.setWorld(records);
        }
        if(unMundo=="Help")
        {
            Help help = new Help();
            Greenfoot.setWorld(help);
        }
        if(unMundo=="Creditos")
        {
            Creditos creditos = new Creditos();
            Greenfoot.setWorld(creditos);
        }
    }
}
